<?php
namespace Home\Controller;
use Think\Controller;
class IndexController extends Controller {
    public function index(){
        $model = M('List'); 
        $rows = $model->select(); 
        $this->assign('rows', $rows);
        $this->display('index');

    }
    public function add(){
        $this->display();
    }
    public function addDo(){
        //1.过滤数据
        $data = I('post.');
        //2.1.设置自动验证规则
        /*xxx 写入到自动义模型类中 ListModel.class.php
        $_validate = array(
            array('title','require','必须填写标题',0),//0存在字段就验证（默认） 
            array('title','3,30','字符长度必须3-30之间',0,'length'), 
            array('url','require','必须填写URL',1),//1表示必须验证
        ); 
        */
        //2.2设置自动完成规则 （自动补全时间）
        /*xxx  写入到自动以模型中 ListModel.class.php
        $_auto  = array (     
            array('time','time',3,'function'),
        );
        */

        //$list = M('List'); 
        $model = D('List'); 

        //3.自动创建数据(会去执行自动验证规则)
        //$resArr = $list->validate($_validate)->auto($_auto)->create($data); 
        $resArr = $model->create($data); //xxx 不在需要validate 和 auto这些动态设置方法

        if($resArr === false || empty($resArr)){
            $errMsg = $model->getError();
            $this->error($errMsg ? $errMsg : '未知错误');
        }
        
        if($model->add()){
            $this->success('添加成功!');
        }else{
            $this->error($model->getError());
        }
    }
    public function edit(){
        $id = I('get.id');
        $model = M('List');// 此处仍使用M方法 ，因为不需要自定义模型
        $row = $model->find($id);

        $this->assign('row', $row);
        $this->display('edit');
    }
    public function editDo(){
        //1.过滤数据
        $data = I('post.');

        //$list = M('List');
        $model = D('List'); //xxx   改用D() 方法实例化模型
        //2.1.设置自动验证规则
        /* xxx
        $_validate = array(
            array('title','require','必须填写标题',0),//0存在字段就验证（默认） 
            array('title','3,30','字符长度必须3-30之间',0,'length'), 
            array('url','require','必须填写URL',1),//1表示必须验证
        );
        */
        //2.2设置自动完成规则 （自动补全时间）
        /*xxx
        $_auto = array (     
            array('time','time',3,'function'), // 对time字段在更新和添加时写入当前时间戳
        );
        */

        //3. 自动创建数据
        //$resArr = $list->validate($_validate)->auto($_auto)->create($data); 
        $resArr = $model->create($data); //xxx 不在需要validate 和 auto这些动态设置方法
        if($resArr === false || empty($resArr)){
            $errMsg = $model->getError();
            $this->error($errMsg ? $errMsg : '未知错误');
        }

        if($model->save()){
            $this->success('更新成功');
        }else{
            $this->error($model->getError());
        }
    }
    public function delDo(){
        $id = I('get.id');
        $model = M('List');//此处仍使用M方法实例化模型，因为不需要自定义模型

        if ($model->delete($id)) {
            $this->success('删除成功');
        }else{
            $this->error($model->getError());
        }
    }
}
